package com.sky.mapper;

import com.sky.dto.GoodsSalesDTO;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface ReportMapper {
    /**
     * 根据时间统计营业额
     * @param beginTime
     * @param endTime
     * @param status
     * @return
     */
    Double getTurnover(LocalDateTime beginTime, LocalDateTime endTime, Integer status);

    /**
     * 根据时间统计用户数量
     * @param beginTime
     * @param endTime
     * @return
     */
    Integer getUserCount(LocalDateTime beginTime, LocalDateTime endTime);

    /**
     * 根据时间统计订单数量
     * @param beginTime
     * @param endTime
     * @param status
     * @return
     */
    Integer getOrderCount(LocalDateTime beginTime, LocalDateTime endTime, Integer status);

    /**
     * 根据时间统计商品销量
     *
     * @param beginTime
     * @param endTime
     * @param status
     * @param limitNumber
     * @return
     */
    List<GoodsSalesDTO> getSales(LocalDateTime beginTime, LocalDateTime endTime, Integer status, Integer limitNumber);
}
